<?
//header ("'Cache-Control: private, pre-check=0, post-check=0,header ('Expires: 0');header ('Pragma: no-cache')");
/*este script recibe las variables $user y $password desde index.php*/
include("conectar_my.php");
include("funciones_generales.php");
session_start();
global $usuario_sistema;
global $permiso;
	
$usuario = $_POST['usuario'];
$contrasenha = $_POST['contrasenha'];

$status = "Los datos introducidos son inválidos!";

if (($usuario == "") || ($contrasenha == "")){
	echo "<script language='JavaScript'>
        alert('No ha cargado todos los datos solicitados para la consulta!');
		//status es el contenido del error
       </script>
		<script language ='javascript'>
		 history.go(-1)
		</script>";
	exit;

}

if (!verificar($usuario,$contrasenha) && $num_registros < 1 )
	{
  	$error = "Los datos introducidos son inválidos!";
	header("Location: index.php?error=$error");
	}
else
	{
	  // recuperar datos de usuario desde la db e iniciar sesion
	  iniciar_sesion($usuario,$contrasenha,$usuario_sistema);
	}
function desconectar() {
	global $id;
	mysql_close($id);
}
?>
<? /*************************inico de espacio de funciones****************************/
function str_rot($s, $n = 13) {
    $n = (int)$n % 26;
    if (!$n) return $s;
    for ($i = 0, $l = strlen($s); $i < $l; $i++) {
        $c = ord($s[$i]);
        if ($c >= 97 && $c <= 122) {
            $s[$i] = chr(($c - 71 + $n) % 26 + 97);
        } else if ($c >= 65 && $c <= 90) {
            $s[$i] = chr(($c - 39 + $n) % 26 + 65);
        }
    }
    return $s;
}

function verificar($usuario,$contrasenha) {
	global $usuario_sistema;
    global $permiso;
    
	$pass=md5($contrasenha);
	

	$sql= "SELECT * FROM usuarios WHERE (usuario = '$usuario' AND contrasenha='$pass' and permiso_acceso='S')";

	$query = mysql_query($sql);
	$num_registros = mysql_num_rows($query);

    #si la cantidad de usuarios es menor que 1, retorna inválido
    if ($num_registros<1) {
    	$sw=false;
        return $sw;
    }

	if (mysql_result($query,0,"administrador") == "S") {
    	#el usuario es administrador
        $usuario_sistema = "S";
     	$validausuario = true;
       	return $validausuario;
			}
	else {
    	#el usuario no es administrador
		$usuario_sistema = "N";
        $validausuario= true;
        return $validausuario;
	}//end if
}//end function

function iniciar_sesion($usuario,$contrasenha,$usuario_sistema) {
	$pass=md5($contrasenha);
	
	$query = "SELECT * FROM usuarios WHERE usuario = '$usuario' AND contrasenha = '$pass' and permiso_acceso='S'";
	
	$SqlgetUser = mysql_query($query);
	$NumRows =  mysql_num_rows($SqlgetUser);

	if ($NumRows == 0)
			{
	        exit;
			}
	elseif ($NumRows > 0) {
		   	
			$usuario = mysql_result($SqlgetUser,0,"usuario");
			$contrasenha = mysql_result($SqlgetUser,0,"contrasenha");
			$apellidos = mysql_result($SqlgetUser,0,"apellidos");
			$nombres = mysql_result($SqlgetUser,0,"nombres");
			$ps = mysql_result($SqlgetUser,0,"permiso_select");
			$pi = mysql_result($SqlgetUser,0,"permiso_insert");
			$pu = mysql_result($SqlgetUser,0,"permiso_update");
			$pd = mysql_result($SqlgetUser,0,"permiso_delete");
			
			//se registran los datos del usuario en la sesion
			session_start(); //se inicia la sesion
			$_SESSION['LOGIN'] = true;
			$_SESSION['S_USUARIO'] = $usuario;
			$_SESSION['S_APELLIDOS'] = $apellidos;
			$_SESSION['S_NOMBRES'] = $nombres;
			$_SESSION['S_TIPOUSUARIO'] = $usuario_sistema;
			$_SESSION['S_SELECT'] = $ps;
			$_SESSION['S_INSERT'] = $pi;
			$_SESSION['S_DELETE'] = $pd;
			$_SESSION['S_UPDATE'] = $pu;
			
			date_default_timezone_set('UTC');
			$ano = date('Y');
			$ip=getRealIP();
			$_SESSION['S_DIRECCIONIP'] = $ip;
			$_SESSION['S_FECHA']=date('j-n-Y');
			$_SESSION['S_ACCESO']=date('Y-n-j H:i:s');
			$acceso=$_SESSION['S_ACCESO'];
			
			#actualiza ultimo acceso
			$query = "UPDATE usuarios SET ultimo_acceso='$acceso' WHERE usuario = '$usuario' AND contrasenha = '".$pass."'"; 
			
			$SqlgetUser = mysql_query($query);
			if ($ps != "S"){
				header("Location:cerrar_sesion.php");
			} else {
				header("Location:main.php");
			}
			//}
		}	//cierra el if de inicio de sesion
}//end function iniciar_sesion($user,$passwd);
/**************************fin de espacio de funciones*****************************/
?>